Image processing algorithms are computationally intensive. In this regard, many real-time image processing methods often require robust processors and memory resources. Real-time or near real-time image processing systems may be required in a closed-loop control environment, such as autonomous landing and hazard avoidance. For astronomical applications, it is advantageous to minimize power, mass, and volume. Accordingly, a space-borne high-performance computing platform having a small foot-print that processes images in real time and consumes minimal power is desirable. Development of image processing algorithms to meet these specifications continues. Algorithm development is an iterative process, and a short build and test time may help to reduce algorithm development, customization, and qualification.
Space-borne environments may limit options for high-performance computing components that can be operated with acceptable reliability. Physical parameters such as mass, volume, and power, for example, may be constrained. Computing performance and physical parameters are often conflicting constraints. Image processing algorithms can be complex, and complexity may increase the hardware necessary to implement the algorithm. The power consumption, the mass, and/or the volume of the implementation may depend on the amount and type of hardware utilized. Although pixel-based image processing algorithm can be parallelized, multiple copies of hardware may be necessary to achieve real-time or near real-time image processing. Unfortunately, multiple copies of hardware may drive up the power consumption, the mass, and the volume of the implementation.
Moreover, even though image processing algorithms can be prototyped, executed, and modified on general purpose computing systems, this approach may not be sufficient for development and implementation of space-borne image processing algorithms. First, the net performance of a general purpose computing system may not achieve real-time image processing desired for space-borne applications. Second, general purpose computer systems are often complex having a relatively large physical foot print in terms of power, mass, and volume. For space-borne applications, minimizing the physical foot print is desirable. Direct implementation of image processing algorithms on digital circuits may reduce execution time to achieve real-time or near real-time image processing. Commercially available software tools may be employed to develop and implement image processing algorithms using digital circuits. This approach, however, may also not be sufficient for development and implementation of space-borne image processing algorithms. Even utilizing the software tools, translation effort is often non-trivial thereby making it relatively difficult to quickly prototype, test, and modify image processing algorithms under development. Second, the implementation that results may be relatively complex, requiring multiple field-programmable gate arrays (FPGA) or application-specific integrated circuit (ASIC) devices. Accordingly, this approach may result in implementations also having a relatively large physical footprint in terms of power, mass, and volume.
Processor-based implementations as opposed to direct implementations in logic circuits may have higher execution times and may not achieve real-time or near real-time image processing desired for space-borne applications. Prior solutions have not resolved the need for an approach to real-time image processing that is suited for space-borne applications and that can accommodate relatively quick implementation, testing, and modification of image-processing algorithms during development. Therefore, there is a need for systems and methods that address one or more of the deficiencies described above.